package com.ruoyi.asms.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 巡检任务信息对象 inspection_task
 *
 * @author yfkj
 * @date 2021-10-21
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InspectionTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 巡检任务信息主键 */
    @TableField(exist = true)
    @TableId(type= IdType.AUTO)
    @ApiModelProperty(value =  "${comment}")
    private Long inspectionTaskId;
    /** 巡检任务主题名称 */
    @Excel(name = "巡检任务主题名称")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检任务主题名称")
    private String inspectionTheme;
    /** 巡检任务说明 */
    @Excel(name = "巡检任务说明")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检任务说明")
    private String inspectionDescription;
    /** 对资产批次中的资产进行巡检 */
    @Excel(name = "对资产批次中的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对资产批次中的资产进行巡检")
    private String projectIds;
    /** 对资产所有方中的资产进行巡检 */
    @Excel(name = "对资产所有方中的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对资产所有方中的资产进行巡检")
    private String assetOwnIds;
    /** 对区域场所中的资产进行巡检 */
    @Excel(name = "对区域场所中的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对区域场所中的资产进行巡检")
    private String addressIds;
    /** 对资产安装绑定人员绑定的资产进行巡检 */
    @Excel(name = "对资产安装绑定人员绑定的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对资产安装绑定人员绑定的资产进行巡检")
    private String assetBindUserIds;
    /** 对资产设备类型(如笔记本电脑)中的资产进行巡检 */
    @Excel(name = "对资产设备类型(如笔记本电脑)中的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对资产设备类型(如笔记本电脑)中的资产进行巡检")
    private String assetTypeIds;
    /** 对资产安装时间范围中的资产进行巡检 */
    @Excel(name = "对资产安装时间范围中的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对资产安装时间范围中的资产进行巡检")
    private Long bindStartTime;
    /** 对资产安装时间范围中的资产进行巡检 */
    @Excel(name = "对资产安装时间范围中的资产进行巡检")
    @TableField(exist = true)
    @ApiModelProperty(value =  "对资产安装时间范围中的资产进行巡检")
    private Long bindEndTime;
    /** 巡检开始时间 */
    @Excel(name = "巡检开始时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检开始时间")
    private Long startTime;
    /** 巡检结束时间 */
    @Excel(name = "巡检结束时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检结束时间")
    private Long endTime;
    /** 状态(-1丢弃、0未开始，1开始中，2已完成) */
    @Excel(name = "状态(-1丢弃、0未开始，1开始中，2已完成)")
    @TableField(exist = true)
    @ApiModelProperty(value =  "状态(-1丢弃、0未开始，1开始中，2已完成)")
    private Integer status;
    /** 是否自动创建任务 */
    @Excel(name = "是否自动创建任务")
    @TableField(exist = true)
    @ApiModelProperty(value =  "是否自动创建任务")
    private Integer isAutoCreate;
    /** 巡检发起的组织部门 */
    @Excel(name = "巡检发起的组织部门")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检发起的组织部门")
    private Long maintenanceDeptId;
    /** 巡检总负责人 */
    @Excel(name = "巡检总负责人")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检总负责人")
    private Long chargeUserId;
    /** 巡检人员 */
    @Excel(name = "巡检人员")
    @TableField(exist = true)
    @ApiModelProperty(value =  "巡检人员")
    private String inspectionUserIds;
    /** 附件信息 */
    @Excel(name = "附件信息")
    @TableField(exist = true)
    @ApiModelProperty(value =  "附件信息")
    private String attachments;
    public static final String INSPECTION_TASK_ID="inspection_task_id";
    public static final String INSPECTION_THEME="inspection_theme";
    public static final String INSPECTION_DESCRIPTION="inspection_description";
    public static final String PROJECT_IDS="project_ids";
    public static final String ASSET_OWN_IDS="asset_own_ids";
    public static final String ADDRESS_IDS="address_ids";
    public static final String ASSET_BIND_USER_IDS="asset_bind_user_ids";
    public static final String ASSET_TYPE_IDS="asset_type_ids";
    public static final String BIND_START_TIME="bind_start_time";
    public static final String BIND_END_TIME="bind_end_time";
    public static final String START_TIME="start_time";
    public static final String END_TIME="end_time";
    public static final String STATUS="status";
    public static final String IS_AUTO_CREATE="is_auto_create";
    public static final String MAINTENANCE_DEPT_ID="maintenance_dept_id";
    public static final String CHARGE_USER_ID="charge_user_id";
    public static final String INSPECTION_USER_IDS="inspection_user_ids";
    public static final String ATTACHMENTS="attachments";
    public static final String CREATE_BY="create_by";
    public static final String CREATE_TIME="create_time";
    public static final String UPDATE_BY="update_by";
    public static final String UPDATE_TIME="update_time";
    public static final String REMARK="remark";
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("inspectionTaskId", getInspectionTaskId())
                .append("inspectionTheme", getInspectionTheme())
                .append("inspectionDescription", getInspectionDescription())
                .append("projectIds", getProjectIds())
                .append("assetOwnIds", getAssetOwnIds())
                .append("addressIds", getAddressIds())
                .append("assetBindUserIds", getAssetBindUserIds())
                .append("assetTypeIds", getAssetTypeIds())
                .append("bindStartTime", getBindStartTime())
                .append("bindEndTime", getBindEndTime())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("status", getStatus())
                .append("isAutoCreate", getIsAutoCreate())
                .append("maintenanceDeptId", getMaintenanceDeptId())
                .append("chargeUserId", getChargeUserId())
                .append("inspectionUserIds", getInspectionUserIds())
                .append("attachments", getAttachments())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
